/*
 *
 * WeatherResponse
 *
 * Copyright 2008-2009 Centro Andaluz de Innovación y Tecnologías de la
 * Información y las Comunicaciones (CITIC). All Rights Reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
 *
 * Please contact CITIC - Edificio CITIC, C/ Marie Curie, 6 Parque
 * Tecnológico de Andalucía 29590 - Campanillas, Málaga, Spain
 * or visit www.citic.es, if you need additional information or
 * have any questions.
 */

package es.citic.puedes.weatherservice.impl;

class WeatherResponse {
	WeatherResult data;

	public WeatherResult getData() {
		return data;
	}

	public void setData(WeatherResult data) {
		this.data = data;
	}

}

/**
 * Result weather response from Free Weather API
 * 
 */
class WeatherResult {
	ConditionData[] current_condition;
	RequestData[] request;
	WeatherData[] weather;

	public ConditionData[] getCurrent_condition() {
		return current_condition;
	}

	public RequestData[] getRequest() {
		return request;
	}

	public WeatherData[] getWeather() {
		return weather;
	}

	public void setCurrent_condition(ConditionData[] current_condition) {
		this.current_condition = current_condition;
	}

	public void setRequest(RequestData[] request) {
		this.request = request;
	}

	public void setWeather(WeatherData[] weather) {
		this.weather = weather;
	}
}

/**
 * Current condition response from Free Weather API
 * 
 */
class ConditionData {
	Integer cloudcover;
	Integer humidity;
	String observation_time;
	Double precipMM;
	Long pressure;
	Integer temp_C;
	Integer temp_F;
	Integer visibility;
	Integer weatherCode;
	Value[] weatherDesc;
	Value[] weatherIconUrl;
	String winddir16Point;
	Integer winddirDegree;
	Integer windspeedKmph;
	Integer windspeedMiles;

	public Integer getCloudcover() {
		return cloudcover;
	}

	public Integer getHumidity() {
		return humidity;
	}

	public String getObservation_time() {
		return observation_time;
	}

	public Double getPrecipMM() {
		return precipMM;
	}

	public Long getPressure() {
		return pressure;
	}

	public Integer getTemp_C() {
		return temp_C;
	}

	public Integer getTemp_F() {
		return temp_F;
	}

	public Integer getVisibility() {
		return visibility;
	}

	public Integer getWeatherCode() {
		return weatherCode;
	}

	public Value[] getWeatherDesc() {
		return weatherDesc;
	}

	public Value[] getWeatherIconUrl() {
		return weatherIconUrl;
	}

	public String getWinddir16Point() {
		return winddir16Point;
	}

	public Integer getWinddirDegree() {
		return winddirDegree;
	}

	public Integer getWindspeedKmph() {
		return windspeedKmph;
	}

	public Integer getWindspeedMiles() {
		return windspeedMiles;
	}

	public void setCloudcover(Integer cloudcover) {
		this.cloudcover = cloudcover;
	}

	public void setHumidity(Integer humidity) {
		this.humidity = humidity;
	}

	public void setObservation_time(String observation_time) {
		this.observation_time = observation_time;
	}

	public void setPrecipMM(Double precipMM) {
		this.precipMM = precipMM;
	}

	public void setPressure(Long pressure) {
		this.pressure = pressure;
	}

	public void setTemp_C(Integer temp_C) {
		this.temp_C = temp_C;
	}

	public void setTemp_F(Integer temp_F) {
		this.temp_F = temp_F;
	}

	public void setVisibility(Integer visibility) {
		this.visibility = visibility;
	}

	public void setWeatherCode(Integer weatherCode) {
		this.weatherCode = weatherCode;
	}

	public void setWeatherDesc(Value[] weatherDesc) {
		this.weatherDesc = weatherDesc;
	}

	public void setWeatherIconUrl(Value[] weatherIconUrl) {
		this.weatherIconUrl = weatherIconUrl;
	}

	public void setWinddir16Point(String winddir16Point) {
		this.winddir16Point = winddir16Point;
	}

	public void setWinddirDegree(Integer winddirDegree) {
		this.winddirDegree = winddirDegree;
	}

	public void setWindspeedKmph(Integer windspeedKmph) {
		this.windspeedKmph = windspeedKmph;
	}

	public void setWindspeedMiles(Integer windspeedMiles) {
		this.windspeedMiles = windspeedMiles;
	}

}

/**
 * Resquest data response from Free Weather API
 * 
 */
class RequestData {
	String query;
	String type;

	public String getQuery() {
		return query;
	}

	public String getType() {
		return type;
	}

	public void setQuery(String query) {
		this.query = query;
	}

	public void setType(String type) {
		this.type = type;
	}
}

/**
 * Weather response from Free Weather API
 * 
 */
class WeatherData {
	String date;
	Double precipMM;
	Integer tempMaxC;
	Integer tempMaxF;
	Integer tempMinC;
	Integer tempMinF;
	Integer weatherCode;
	Value[] weatherDesc;
	Value[] weatherIconUrl;
	String winddir16Point;
	Integer winddirDegree;
	String winddirection;
	Integer windspeedKmph;
	Integer windspeedMiles;

	public String getDate() {
		return date;
	}

	public Double getPrecipMM() {
		return precipMM;
	}

	public Integer getTempMaxC() {
		return tempMaxC;
	}

	public Integer getTempMaxF() {
		return tempMaxF;
	}

	public Integer getTempMinC() {
		return tempMinC;
	}

	public Integer getTempMinF() {
		return tempMinF;
	}

	public Integer getWeatherCode() {
		return weatherCode;
	}

	public Value[] getWeatherDesc() {
		return weatherDesc;
	}

	public Value[] getWeatherIconUrl() {
		return weatherIconUrl;
	}

	public String getWinddir16Point() {
		return winddir16Point;
	}

	public Integer getWinddirDegree() {
		return winddirDegree;
	}

	public String getWinddirection() {
		return winddirection;
	}

	public Integer getWindspeedKmph() {
		return windspeedKmph;
	}

	public Integer getWindspeedMiles() {
		return windspeedMiles;
	}

	public void setDate(String date) {
		this.date = date;
	}

	public void setPrecipMM(Double precipMM) {
		this.precipMM = precipMM;
	}

	public void setTempMaxC(Integer tempMaxC) {
		this.tempMaxC = tempMaxC;
	}

	public void setTempMaxF(Integer tempMaxF) {
		this.tempMaxF = tempMaxF;
	}

	public void setTempMinC(Integer tempMinC) {
		this.tempMinC = tempMinC;
	}

	public void setTempMinF(Integer tempMinF) {
		this.tempMinF = tempMinF;
	}

	public void setWeatherCode(Integer weatherCode) {
		this.weatherCode = weatherCode;
	}

	public void setWeatherDesc(Value[] weatherDesc) {
		this.weatherDesc = weatherDesc;
	}

	public void setWeatherIconUrl(Value[] weatherIconUrl) {
		this.weatherIconUrl = weatherIconUrl;
	}

	public void setWinddir16Point(String winddir16Point) {
		this.winddir16Point = winddir16Point;
	}

	public void setWinddirDegree(Integer winddirDegree) {
		this.winddirDegree = winddirDegree;
	}

	public void setWinddirection(String winddirection) {
		this.winddirection = winddirection;
	}

	public void setWindspeedKmph(Integer windspeedKmph) {
		this.windspeedKmph = windspeedKmph;
	}

	public void setWindspeedMiles(Integer windspeedMiles) {
		this.windspeedMiles = windspeedMiles;
	}

}
